import Vue from 'vue'
import App from './App.vue'
import { request } from './components/netWork/request'
import router from './router'
import store from './store'
//axios的引入
// import axios from 'axios'



//1，基本的使用
//config为对象的类型
// axios(config)    
// axios({
//   // 首页数据的地址
//   url:"http://123.207.32.32:8000/home/multidata",
//   //默认的情况是get请求
//   method:'get'
// }).then(res=>{
//   console.log(res)
// })
// axios({
//   url:"http://123.207.32.32:8000/home/data",
//   //params用于get请求时数据的拼接，专门针对get请求的数据拼接
//   params:{
//     type:'sell',
//     page:3
//   }
// }).then(res=>{
//   console.log(res);
// })


//2，发送并发请求，做一个功能的时发送多个请求，两个请求都到的话才进行相关的处理
// axios.all([axios({
//   url:'http://123.207.32.32:8000/home/multidata'
// }),axios({
//   url:"http://123.207.32.32:8000/home/data",
//   params:{
//     type:'sell',
//     page:3
//   }
// })])//在这里可以根据请求的结果进行操作
//   .then(result=>{
//     //请求的结果会以数组的形式进行返回
//     console.log(result)
//   })


//axios.spread(res1,res2)对数据进行分割
// axios.all([axios({
//   url:'http://123.207.32.32:8000/home/multidata'
// }),axios({
//   url:"http://123.207.32.32:8000/home/data",
//   params:{
//     type:'sell',
//     page:3
//   }
// })])//在这里可以根据请求的结果进行操作   两个参数的时候不可以省略小括号
//   .then(axios.spread((res1,res2)=>{
//     console.log(res1);
//     console.log(res2);
//   }))
  //数据的解构
  // .then(axios.spread([res1,res2]=>{
  //   console.log(res1);
  //   console.log(res2);
  // }))


  //对象的解构
  // const obj = {
  //   name:'kobe',
  //   age:30
  // }
  // const {name,age} = obj

  // const names =['why','kobe','james']
  // const [name1,name2,name3]

//3 全局的配置
// 只有公共的部分才写到全局的配置里
// //设置全局的请求地址
// axios.defaults.baseURL = 'http://123.207.32.32:8000'
// // 设置全局的请求超时
// axios.defaults.timeout = 5000
// // 发送请求的时候会默认在前面进行内容的拼接
// axios.all([axios({
//   url:'/home/multidata'
// }),axios({
//   url:"/home/data",
//   params:{
//     type:'sell',
//     page:3
//   }
// })])//在这里可以根据请求的结果进行操作   两个参数的时候不可以省略小括号
//   .then(axios.spread((res1,res2)=>{
//     console.log(res1);
//     console.log(res2);
//   }))

  //请求多个地址的时候，会用ngix做一个反向的代理。   请求的时候会在中间设置一个反向代理服务器，通过nginx做反向代理

  //4.创建对应的axios的实例
// const instance1 = axios.create({
//   baseURL:'http://123.207.32.32:8000',
//   timeout:5000
// })
// instance1({
//   utl:'/home/data',
//   params:{
//     type:'sell',
//     page:3
//   }
// }).then(res=>{
//   console.log(res)
// })


// 可以传递请求头，等等内容
// const instance2 = axios.create({
//   baseURL:'http:',
//   timeout:5000,
//   headers:''
// })


// 对第三方库在每个引入的时候，对它的依赖太过于严重，不要每个文件都对这个产生了依赖。
//在使用第三方的时候不要再里面直接使用第三方的框架

// import {request} from '@/components/netWork/request.js'
// request({
//   url:'/home/multidata'
// },res=>{
//   console.log(res)
// },err=>{
//   console.log(err)
// })



// promise的方法
request({
  url:'/home/multidata'
}).then(res=>{
  console.log(res)
}).catch(err=>{
  console.log(err);
})













Vue.config.productionTip = false

new Vue({
  router,
  store,
  render: h => h(App)
}).$mount('#app')
